1. Technical Field
This disclosure generally relates to content management systems, and more specifically relates to access to content in a content management system.
2. Background Art
A content management system (CMS) allows many users to efficiently share electronic content such as text, audio files, video files, pictures, graphics, etc. Content management systems typically control access to content in a repository. A user may generate content, and when the content is checked into the repository, the content may be subsequently processed by the CMS according to predefined rules. A user may also check out content from the repository, or link to content in the repository while generating content. The rules in a CMS assure that content that comes into or out of the system or that is linked to meets desired criteria specified in the rules.
Profiling is an XML content management technique in which elements of an XML document may be tagged with applicability metadata. This applicability metadata can be used by the CMS to filter content and only allow certain elements to be included. Currently, a profile for a document allows the content management system to extract only that content from the document that matches the profile. For example, a document for an owner's manual may include instructions in English and Spanish. If a new document is created with a profile of English, only the elements that match the English profile will be included in the new document. Similarly, if a new document is created with a profile of Spanish, only the elements that match the Spanish profile will be included in the new document. Profiling thus allows a way to select and filter content when a document is reconstituted (i.e., assembled) according to one or more defined profiles for the document.
Method 200 in FIG. 2 is a prior art method for reconstituting a document that may include a defined profile. Method 200 begins when a document needs to be reconstituted (step 210). The next element is retrieved (step 220). If the element has applicability metadata (step 230=YES), the element is included in the reconstituted document only if the document's profile matches the applicability metadata (step 250). If the element does not have applicability metadata (step 230=NO), the element is included in the document (step 240). If there are more elements to process (step 260=YES), method 200 loops back to step 220 and continues until there are no more elements to process (step 260=NO).
A sample document 300 is shown in FIG. 3. We assume document 300 is being reconstituted from a document that includes a link to document N 320, which includes two separate elements that each has applicability metadata. Note the document profile 310 is English. When the content management system encounters document N to incorporate into the reconstituted document 300, the CMS sees that document N 320 includes applicability metadata. Because the profile of the document 300 being reconstituted is English as shown at 310, which matches the applicability metadata for the first element 330, the first element 330 is incorporated into document 300 as shown in FIG. 3. Because the English profile of the document being reconstituted does not match the Spanish applicability metadata for the second element 340, the second element 340 is not included in the reconstituted document 300. Note that profiling may also be used when common elements are mixed with specific elements that vary based on applicability metadata. For example, a document might include a shipping address that has a street address, city and state that are common for all destinations. However, the format and location of the postal code varies depending on whether the address is an address in the United States or an address in a foreign country. In this case, there would be a single instance of the common data, with multiple instances of the postal code tagged with appropriate applicability metadata. These very simplified examples show how profiling is used in the prior art to include or exclude parts of a document depending on the profile of the document being created and the applicability metadata in the shared documents.
One known way to generate applicability metadata is shown in method 400 in FIG. 4. A user while creating or editing a document adds or edits content in the document (step 410). The user may then select content and specify applicability metadata for that content (step 420). Note, however, that the utility of a user manually defining applicability metadata that may be used in profiling is limited. Without a way for a content management system to more automatically generate and use profile data, the scope of the use of profile data in a CMS will remain limited.